package com.zc.campus_shops.service;

import java.util.List;

import com.zc.campus_shops.dto.ImageHolder;
import com.zc.campus_shops.dto.ProductExecution;
import com.zc.campus_shops.entity.Product;
import com.zc.campus_shops.exception.ProductOperationException;

//商品管理服务接口
public interface ProductService {
	
	
	/**
	 * 分页查询商品，可以输入的条件检索:商品名（模糊查询），商品状态，店铺Id，商品类别
	 * @param productCondition
	 * @param pageIndex
	 * @param pageSize
	 * @return
	 */
	ProductExecution getProductList(Product productCondition,int pageIndex,int pageSize);
	/**
	 * 添加商品信息以及图片处理
	 * 
	 * @param product
	 * @param thumbnail (缩略图)
	 * @param productImgs (详情图)
	 * @return
	 * @throws ProductOperationException
	 */
	ProductExecution addProduct(Product product, ImageHolder thumbnail,
			List<ImageHolder> productImgList) throws ProductOperationException;

	/**
	 * 通过Id查询唯一的商品信息
	 * @param productId
	 * @return
	 */
	Product getProductById(long productId);
	
	/**
	 * 修改商品信息以及图片处理
	 * @param product
	 * @param thumbnail
	 * @param productImgList
	 * @return
	 * @throws ProductOperationException
	 */
	ProductExecution modifyProduct(Product product, ImageHolder thumbnail,
			List<ImageHolder> productImgList) throws ProductOperationException;
}
